You may customize the way tests are executed to suit your needs. You can even change the language of execution!
The is done by defining any of a few special variables in the scope (see VariableScope) of the tests you wish to execute.
The special variables are:

 * TEST_SYSTEM
 * COMMAND_PATTERN
 * TEST_RUNNER
 * PATH_SEPARATOR
 * REMOTE_DEBUG_COMMAND

'''TEST_SYSTEM''' Defines the interface that FitNesse will use to execute tests.  Right now there are two such interfaces: {fit | slim}
''default: '' '''<undefined>''' which implies fit.

'''COMMAND_PATTERN''' is the basis for every execution performed in FitNesse.  It specifies the command that will be executed.
''default: '' '''java -cp %p %m'''
There are two special symbols used that will get replaced before execution.
 * '''%p''' will be replaces with the caclulated path/classpath.  This is the accumulation of all the ''!path'' elements on all the ''ClassPath'' pages in the scope of the current page.
 * '''%m''' stands for '''main''' or '''main class'''.  For Java it is the name of the class that will be executed.

'''TEST_RUNNER''' is the name of the class or executable that will be used when the ''Test'' button is clicked.
''default: '' '''!-fit.FitServer-!'''
If you're running tests in Java you probably don't want to change this.

'''PATH_SEPARATOR''' is the charater that is used to separate all the path elements in the calculated path.
''default: '' '''system dependant.... either ; or :'''

'''REMOTE_DEBUG_COMMAND''' is the command pattern used to execute tests in debug mode.  See DebugingFixtureCode for more details.
''default:'' '''java -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 -cp %p %m'''
It has the same formate as the standand '''COMMAND_PATTERN'''
